home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / lang / sofa.lha / sofa / developer / script / remove_sofa_cache.rexx < prev   
OS/2 REXX Batch file  |  2000-03-30  |  2KB  |  72 lines

  1. /* remove_sofa_directory.rexx -- Remove sofa cache directory */
  2. list_temp = 't:remove_sofa_directory.list'
  3. execute_temp = 't:remove_sofa_directory.execute'
  4.  
  5. exit_code = 0
  6.  
  7. Address Command
  8.  
  9. /* remove /sofa stuff */
  10. Say 'sofa cache directories'
  11. Say '   search'
  12. 'list >' || list_temp || ' all dirs pat=sofa lformat="delete quiet force all *"%p%n*""'
  13. Say '   remove'
  14. if Open('list', list_temp, 'read') then do
  15.     do while ~eof('list')
  16.         line = ReadLn('list')
  17.         Parse Var line . '"' name '"'
  18.         if (Right(name, 5) = '/sofa') & (exists(name || '/short')) then do
  19.             if name ~= 'library/sofa' then do
  20.                 Say '      ' || name
  21.                 /* line */
  22.             end
  23.         end
  24.     end
  25.     Call Close('list')
  26. end
  27. else do
  28.     Say 'cannot read temporary file "' || list_temp || '"'
  29.     exit_code = 10
  30. end
  31.  
  32. /* clean eiffel programs */
  33. if exit_code = 0 then do
  34.     Say 'eiffel root classes'
  35.     Say '   search'
  36.     'list >' || list_temp || ' all pat=#?.e lformat=%p%n'
  37.      if Open('list', list_temp, 'read') then do
  38.         do while ~eof('list')
  39.             line = ReadLn('list')
  40.             if line ~= '' then do
  41.                 base_name = Left(line, Length(line)-2)
  42.                 if exists(base_name || '.make') then do
  43.                     command = 'clean ' || base_name
  44.                     Say '   ' || command
  45.                     command
  46.                 end
  47.                 if exists(base_name) then do
  48.                     command = 'delete quiet ' || base_name
  49.                     Say '      remove ' || base_name
  50.                     command
  51.                 end
  52.             end
  53.         end
  54.         Call Close('list')
  55.      end
  56.      else do
  57.         Say 'cannot read temporary file "' || list_temp || '"'
  58.         exit_code = 10
  59.      end
  60. end
  61.  
  62. /* remove remaining linker and object files */
  63. if exit_code = 0 then do
  64.     Say 'linker and object files'
  65.     Say '   search'
  66.     'list >' || list_temp || ' all pat=#?.(make|lnk|o|exe) lformat="delete quiet *"%p%n*""'
  67.     Say '   remove'
  68.     'execute ' || list_temp
  69. end
  70.  
  71. exit exit_code
  72.